package com.dq.Week1.day04.homeWork;

public class dieGameDemo {


//        int[] criminal = {0, 1, 2, 3, 4, 5, 6, 7};
//        int num = 0;//计数
//        int num1 = 0;
//
//        while (true) {
//
//            for (int i = 0; i <= 7; i++) {
//                num++;
//
//                if (num == 3) {
//
////                        System.out.println(i+"号被杀了");
//
//
//                    criminal = delete(criminal, i-num1);
//                    num1++;
//
//
////                        if(criminal.length==1)
////                        {
////                            break;
////                        }
//                    num = 0;
//                }
//
//
//            }
//
//            ArrUtils.printIntArr(criminal);
//        }


        public static void main(String[] args) {
            //创建一个数组，长度为参加游戏的总人数
            int [] a={0,1,2,3,4};
            int flag=1;//记录喊话次数
            int n=0;//n是淘汰玩家个数
            int m=0;//记录淘汰的玩家 当n==8时输出m就是生存者
            while (true)
            {
                if(n==a.length) { //一共八个人 最后一个被记录后退出循环
                    break;
                }
                for(int j=0;j<a.length;j++) //执行八个人的循环
                {
                    if(flag%3==0&&a[j]!=-1) //记录是否喊道3且记录状态 -1为被做掉
                    {
                        a[j]=-1;//记录死亡状态
                        n++;//记录淘汰个数
                        flag++;//喊的次数
                        m=j;//记录淘汰人员的下标
                    }
                    if(flag%3!=0&&a[j]!=-1)//没喊到三且状态没趋势的满足条件
                    {
                        flag++;
                    }
                }
            }
            System.out.println();
            System.out.println("最终的生存者是下标为"+m+"的小伙");
        }


//    public static int[] delete(int[] arr,int index)
//    {
//        if(arr == null || index<0 || index >=arr.length)
//        {
//            return arr;
//        }
//        int [] newArr = new int[arr.length-1];
//        int j =0;
//        for (int i = 0; i < arr.length;i++) {
//            if(i!=index)
//            {
//                newArr[j++] = arr[i];
//            }
//        }
//       return newArr;
//    }


}
